package com.itany.corejava.code04_方法;

/**
 * @author 石小俊
 * @date 2024年01月11日 10:20
 */
public class Test01_方法的基本用法 {

    // 此处可以定义方法
    public static void test01() {
        System.out.println("这是一个没有参数没有返回值的方法");
    }

    // 这也是一种方法,俗称main方法,用于测试代码执行效果的
    public static void main(String[] args) {
        // 当方法没有参数时,直接写方法名()即可调用
        // 调用方法后,会执行对应方法的代码块内容
        test01();
        // 当方法存在参数时,必须通过写方法名(实际参数的值)来调用
        // 实际参数的值必须是对应方法指定的数据类型的值
        test02("admin");
        // 当方法存在返回值时,调用该方法后将会返回一个与方法返回值类型一致的数据
        // 此时该数据可以赋值给一个指定的变量
        int sum = sum(3, 2);
        System.out.println("sum方法的返回值为:" + sum);
        test03();
        System.out.println("----------------");
        // 如果调用另一个Java类中的方法
        // 可以通过类名.方法名(参数列表)进行调用
        SomeClass.isAdult(20);
    }

    // 此处可以定义方法
    public static void test02(String s) {
        System.out.println("这是一个有参数没有返回值的方法,方法参数为:" + s);
    }

    public static int sum(int i, int j) {
        System.out.println("这是一个有参数有返回值的方法");
        // 当方法存在返回值时
        // 此时方法的代码块的最后一行执行的代码必须是return xxx的内容
        // 即:程序最后执行的一行代码必须是return xxx
        // 且xxx的值必须是符合当前方法返回值类型的数据
        return i + j;
    }

    public static void test03() {
        for (int i = 0; i < 10; i++) {
            System.out.println(i);
            if (i == 3) {
                // return表示结束方法
                // 只要使用了return,就表示当前方法结束,退出了方法
                // return后面的代码将永不执行
                // 此处后面的代码表示的是逻辑意义上的后面,而并不是物理意义上的后面
                return;

            }
        }
    }
}
